def triebwerk_analyse(schub_newton, treibstoff_verbrauch_kg_s):
spezifischer_impuls = schub_newton / (treibstoff_verbrauch_kg_s * 9.81)
triebwerk_masse = 1000 # kg
schub_gewichts_verhaeltnis = schub_newton / (triebwerk_masse * 9.81)
return spezifischer_impuls, schub_gewichts_verhaeltnis
isp, twr = triebwerk_analyse(2200000, 700)
print(f"Spez. Impuls: {isp:.0f}s, Schub/Gewicht: {twr:.1f}")
Mehr zu „Tupeln“ (x, y
) in Kapitel 5 (Datenstrukturen)!
def mission_planung(ziel, startdatum="TBD", crew_groesse=3, notfall_backup=True):
print(f"
Mission zum {ziel}")
print(f"Start: {startdatum}")
print(f"Crew: {crew_groesse} Astronauten")
if notfall_backup:
print("
Notfall-Backup-Systeme aktiv")
# Verschiedene Missionen:
mission_planung("Mond")
mission_planung("Mars", "2026-07-15")
mission_planung("ISS", crew_groesse=6)
mission_planung("Europa", startdatum="2030-01-01", notfall_backup=False)
# Globale Variable
temperatur = 20 # °C
def berechne_luftdichte(hoehe_m):
# Lokale Variable (nur in der Funktion sichtbar)
temperatur = -50 # °C in der Stratosphäre
# Diese lokale Variable "überdeckt" die globale
dichte = 1.225 * (1 - 0.0065 * hoehe_m / 288.15) ** 4.256
return dichte
print(f"Bodentemperatur: {temperatur}°C") # 20°C (global)
luftdichte = berechne_luftdichte(10000)
print(f"Luftdichte in 10km Höhe: {luftdichte:.3f} kg/m³")
print(f"Nach Funktionsaufruf: {temperatur}°C") # Immer noch 20°C!
def startfreigabe_pruefen(treibstoff_prozent, wetter, crew_bereit, systeme_ok):
if treibstoff_prozent < 95:
return False, "Treibstoff unzureichend"
elif wetter != "gut":
return False, f"Wetter ungünstig: {wetter}"
elif not crew_bereit:
return False, "Crew nicht bereit"
elif not systeme_ok:
return False, "Systeme nicht nominal"
else:
return True, "
Startfreigabe erteilt!"
# Verschiedene Szenarien testen:
freigabe, grund = startfreigabe_pruefen(98, "gut", True, True)
print(f"Freigabe: {freigabe} - {grund}")
freigabe, grund = startfreigabe_pruefen(90, "gut", True, True)
print(f"Freigabe: {freigabe} - {grund}")
def schnelle_startpruefung(treibstoff, wetter, crew, systeme):
return (treibstoff >= 95 and wetter == "gut" and
crew and systeme)
# Verschiedene Raketen einzeln prüfen:
falcon_heavy = schnelle_startpruefung(98, "gut", True, True)
sls = schnelle_startpruefung(92, "gut", True, True)
starship = schnelle_startpruefung(99, "windig", True, True)
print(f"Falcon Heavy: {'
GO' if falcon_heavy else '
NO-GO'}")
print(f"SLS: {'
GO' if sls else '
NO-GO'}")
print(f"Starship: {'
GO' if starship else '
NO-GO'}")